home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Adobe Graphics & Publishing SDK 1996 December
/
Adobe Graphics & Publishing SDK 1996 December.iso
/
pc
/
pm65sdk
/
sourcecode
/
includes
/
cihyphenation.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-11-18
|
5KB
|
103 lines
/**[f******************************************************************
* CIBasic.h -- CIBasic Interface definition
*
* Copyright (c) 1996 Adobe Systems, Inc. All Rights Reserved
*
*
* ABSTRACT:
*
* USAGE:
*
* ROUTINES DEFINED:
* $Revision: 1.1 $
*
*
*
**f]******************************************************************/
#ifndef _CIHYPH_H
#define _CIHYPH_H
#if !defined(LANDID)
#define LANGID unsigned short // 16 bit language id
/*** NOTE:
*** These IDs are arbitrarily defined by Adobe. This is not
*** a commitment that Adobe currently supports all the listed
*** languages - only that some preparations are being made
*** to support such languages in the future.
***
*** Please do not shuffle them. Add new ones to the end.
***/
#define LANGUAGE_AMERICAN 1 // American English
#define LANGUAGE_BRITISH 2 // British English
#define LANGUAGE_AUSTRALIAN 3 // Australian English
#define LANGUAGE_GERMAN 4
#define LANGUAGE_SWISS_GERMAN 5
#define LANGUAGE_FRENCH 6
#define LANGUAGE_CANADIAN_FRENCH 7
#define LANGUAGE_SWISS_FRENCH 8
#define LANGUAGE_SPANISH 9 // Castillian Spanish
#define LANGUAGE_LATIN_SPANISH 10 // Latin American Spanish
#define LANGUAGE_ITALIAN 11
#define LANGUAGE_DANISH 12
#define LANGUAGE_SWEDISH 13
#define LANGUAGE_NORWEGIAN 14
#define LANGUAGE_NYNORSK 15 // Norwegian dialect
#define LANGUAGE_FINNISH 16
#define LANGUAGE_DUTCH 17
#define LANGUAGE_PORTUGUESE 18
#define LANGUAGE_BRAZILIAN 19 // Brazilian Protuguese
#define LANGUAGE_RUSSIAN 20
#define LANGUAGE_UKRAINIAN 21
#define LANGUAGE_BYELORUSSIAN 22
#define LANGUAGE_SERBOCROAT 23
#define LANGUAGE_CZECH 24
#define LANGUAGE_SLOVAK 25
#define LANGUAGE_LITHUANIAN 26
#define LANGUAGE_LATVIAN 27
#define LANGUAGE_ESTONIAN 28
#define LANGUAGE_POLISH 29
#define LANGUAGE_HUNGARIAN 30
#define LANGUAGE_BULGARIAN 31
#define LANGUAGE_ROMANIAN 32
#define LANGUAGE_TURKISH 33
#define LANGUAGE_GREEK 34
#define LANGUAGE_AFRIKAANS 35
#define LANGUAGE_JAPANESE 36
#define LANGUAGE_CHINESE_TRADITIONAL 37
#define LANGUAGE_CHINESE_SIMPLIFIED 38
#define LANGUAGE_KOREAN 39
#define LANGUAGE_CATALANS 40
#endif
#if (!defined(PA_DICTHYPH) && !defined(PA_ALGHYPH))
// method
#define PA_DICTHYPH 0x10 /* T if hyphenation should use dictionary */
#define PA_ALGHYPH 0x20 /* T if hyphenation should be algorithmic */
#endif
#if (!defined(HY_NORM) && !defined(HY_PREF))
#define HY_NORM 0x04 // Normal point
#define HY_PREF 0x05 // Preferred point, use if possible
#endif
// Word buffer is a read only field. In other word, plugin can not modify the
// word. Plug in can override hyphenation points. Hyphenation points can be
// HY_NORM or HY_PREF. HY_PREF is the most preferred hyphenation spot.
// HY_NORM is the normal hyphenation spot. For example, the wordBuf
// "hyphenation", wordLen is 11. The hyphenation point is at *pHyphPoints[1]
// and *pHyphPoints[5] ("hy-phen-ation"). The marked hyphenation points will either be HY_NORM
// or HY_PREF (i.e. *pHyphPoints[1] and *pHyphPoints[5] is either HY_PREF
// or HY_NORM). Plugin can modify the hyphenation points and returned event
// is handled by plugin so PageMaker will use the new hyphenation map.
typedef struct _PMHyphenateRec {
LANGID language;
unsigned short method; // either PA_DICTHYPH or PA_ALGHYPH
unsigned char *pWordBuf; // word to hyphenation
unsigned short *pWordLen; // word length
unsigned char *pHyphPoints; // hyphenation points (HY_NORM or HY_PREF)
} PMHyphenateRec, *PPMHyphenateRec;
#endif